Array.prototype.forEach||(Array.prototype.forEach=function(e,t){var r,n;if(null==this)throw new TypeError(" this is null or not defined");var o=Object(this),i=o.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(r=t),n=0;n<i;){var c;n in o&&(c=o[n],e.call(r,c,n,o)),n++}}),Array.prototype.map||(Array.prototype.map=function(e,t){var r,n,o;if(null==this)throw new TypeError(" this is null or not defined");var i=Object(this),c=i.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(r=t),n=new Array(c),o=0;o<c;){var a,l;o in i&&(a=i[o],l=e.call(r,a,o,i),n[o]=l),o++}return n}),Array.prototype.filter||(Array.prototype.filter=function(e){"use strict";if(null==this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=[],o=arguments[1],i=0;i<r;i++)if(i in t){var c=t[i];e.call(o,c,i,t)&&n.push(c)}return n}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var r;if(null==this)throw new TypeError('"this" is null or not defined');var n=Object(this),o=n.length>>>0;if(0===o)return-1;var i=+t||0;if(Math.abs(i)===1/0&&(i=0),i>=o)return-1;for(r=Math.max(i>=0?i:o-Math.abs(i),0);r<o;){if(r in n&&n[r]===e)return r;r++}return-1}),Array.prototype.some||(Array.prototype.some=function(e){"use strict";if(null==this)throw new TypeError("Array.prototype.some called on null or undefined");if("function"!=typeof e)throw new TypeError;for(var t=Object(this),r=t.length>>>0,n=arguments.length>=2?arguments[1]:void 0,o=0;o<r;o++)if(o in t&&e.call(n,t[o],o,t))return!0;return!1}),Object.keys||(Object.keys=function(){"use strict";var e=Object.prototype.hasOwnProperty,t=!{toString:null}.propertyIsEnumerable("toString"),r=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],n=r.length;return function(o){if("object"!=typeof o&&("function"!=typeof o||null===o))throw new TypeError("Object.keys called on non-object");var i=[],c,a;for(c in o)e.call(o,c)&&i.push(c);if(t)for(a=0;a<n;a++)e.call(o,r[a])&&i.push(r[a]);return i}}()),"function"!=typeof Object.defineProperty&&function(e){var t=Object.prototype.hasOwnProperty.call(Object.prototype,"__defineGetter__"),r="Getters & setters cannot be defined on this javascript engine",n="A property cannot both have accessors and be writable or have a value";Object.defineProperty=function defineProperty(o,i,c){if(e&&(o===window||o===document||o===Element.prototype||o instanceof Element))return e(o,i,c);if(null===o||!(o instanceof Object||"object"==typeof o))throw new TypeError("Object.defineProperty called on non-object");if(!(c instanceof Object))throw new TypeError("Property description must be an object");var a=String(i),l="value"in c||"writable"in c,p="get"in c&&typeof c.get,u="set"in c&&typeof c.set;if(p){if(void 0===p)return o;if("function"!==p)throw new TypeError("Getter must be a function");if(!t)throw new TypeError(r);if(l)throw new TypeError(n);Object.__defineGetter__.call(o,a,c.get)}else o[a]=c.value;if(u){if(void 0===u)return o;if("function"!==u)throw new TypeError("Setter must be a function");if(!t)throw new TypeError(r);if(l)throw new TypeError(n);Object.__defineSetter__.call(o,a,c.set)}return"value"in c&&(o[a]=c.value),o}}(Object.defineProperty),"function"!=typeof Object.create&&(Object.create=function(){function Temp(){}var e=Object.prototype.hasOwnProperty;return function(t){if("object"!=typeof t)throw TypeError("Object prototype may only be an Object or null");Temp.prototype=t;var r=new Temp;if(Temp.prototype=null,arguments.length>1){var n=Object(arguments[1]);for(var o in n)e.call(n,o)&&(r[o]=n[o])}return r}}()),!window.addEventListener&&function(e,t,r,n,o,i,c){e[n]=t[n]=r[n]=function(e,t){var r=this;c.unshift([r,e,t,function(e){e.currentTarget=r,e.preventDefault=function(){e.returnValue=!1},e.stopPropagation=function(){e.cancelBubble=!0},e.target=e.srcElement||r,t.call(r,e)}]),this.attachEvent("on"+e,c[0][3])},e[o]=t[o]=r[o]=function(e,t){for(var r=0,n;n=c[r];++r)if(n[0]==this&&n[1]==e&&n[2]==t)return this.detachEvent("on"+e,c.splice(r,1)[0][3])},e[i]=t[i]=r[i]=function(e){return this.fireEvent("on"+e.type,e)}}(Window.prototype,HTMLDocument.prototype,Element.prototype,"addEventListener","removeEventListener","dispatchEvent",[]),function(){var regExp=function(e){return new RegExp("(^| )"+e+"( |$)")},forEach=function(e,t,r){for(var n=0;n<e.length;n++)t.call(r,e[n])};function ClassList(e){this.element=e}ClassList.prototype={add:function(){forEach(arguments,(function(e){this.contains(e)||(this.element.className+=" "+e)}),this)},remove:function(){forEach(arguments,(function(e){this.element.className=this.element.className.replace(regExp(e),"")}),this)},toggle:function(e){return this.contains(e)?(this.remove(e),!1):(this.add(e),!0)},contains:function(e){return regExp(e).test(this.element.className)},replace:function(e,t){this.remove(e),this.add(t)}},"classList"in Element.prototype||Object.defineProperty(Element.prototype,"classList",{get:function(){return new ClassList(this)}}),window.DOMTokenList&&null==DOMTokenList.prototype.replace&&(DOMTokenList.prototype.replace=ClassList.prototype.replace)}(),Date.now||(Date.now=function now(){return(new Date).getTime()}),function(e){var t=Date.now();e.performance||(e.performance={}),e.performance.now=function(){return Date.now()-t}}(self),document.head=document.getElementsByTagName("head")[0],Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),r=t.length;--r>=0&&t.item(r)!==this;);return r>-1}),Element.prototype.closest||(Element.prototype.closest=function(e){for(var t=this;t&&1===t.nodeType;){if(Element.prototype.matches.call(t,e))return t;t=t.parentElement||t.parentNode}return null}),window.document.querySelectorAll||(document.querySelectorAll=document.body.querySelectorAll=Object.querySelectorAll=function querySelectorAllPolyfill(e,t,r,n,o){var i=document,c=i.createStyleSheet();for(o=i.all,t=[],r=(e=e.replace(/\[for\b/gi,"[htmlFor").split(",")).length;r--;){for(c.addRule(e[r],"k:v"),n=o.length;n--;)o[n].currentStyle.k&&t.push(o[n]);c.removeRule(0)}return t}),!window.getComputedStyle&&document.documentMode<=8&&(window.getComputedStyle=function getComputedStylePolyfill(e){return e.currentStyle}),function(){if(document.documentMode<=8){var e=Array.prototype.slice;Array.prototype.slice=function(){if(this instanceof Array)return e.apply(this,arguments);for(var t=[],r=arguments.length>=1?arguments[0]:0,n=arguments.length>=2?arguments[1]:this.length,o=r;o<n;o++)t.push(this[o]);return t}}}(),window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),Array.from||(Array.from=function(){var e=Object.prototype.toString,isCallable=function(t){return"function"==typeof t||"[object Function]"===e.call(t)},toInteger=function(e){var t=Number(e);return isNaN(t)?0:0!==t&&isFinite(t)?(t>0?1:-1)*Math.floor(Math.abs(t)):t},t=Math.pow(2,53)-1,toLength=function(e){var r=toInteger(e);return Math.min(Math.max(r,0),t)};return function from(e){var t=this,r=Object(e);if(null==e)throw new TypeError("Array.from requires an array-like object - not null or undefined");var n=arguments.length>1?arguments[1]:void 0,o;if(void 0!==n){if(!isCallable(n))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(o=arguments[2])}for(var i=toLength(r.length),c=isCallable(t)?Object(new t(i)):new Array(i),a=0,l;a<i;)l=r[a],c[a]=n?void 0===o?n(l,a):n.call(o,l,a):l,a+=1;return c.length=i,c}}());
